This invention relates to database systems having provisions for receiving user input to update records, using the world wide web and provisions for distributing database record information using a mail transfer protocol.
Many businesses recognize that the Internet represents an unprecedented global distribution network. Serious real time limitations associated with the Internet make it difficult for them to perceive how this extraordinary network can be utilized for this purpose.
The deficiencies of the Internet, particularly its lack of dependability, the time lag associated with bandwidth limitations that further limit its use in the distribution of data intensive files, and its inability to display, on demand, data accompanied by picture quality graphics, has, in consequence, severely inhibited its commercial use.
The world wide web has provided the capability of providing database information to a plurality of users. Typically however, such information is presented to users through a web session in which users effectively log onto a database server and view database record information while logged onto the database server. This may require the transfer of relatively large files to a user""s browser, which consumes a relatively large amount of time. Such usage of time may be frustrating especially if the user is attempting to provide information from the database to a customer or client, while the customer or client is waiting.
In addition, when information in a record is changed, it is sometimes necessary to advise certain users that a change has been made to ensure they are kept up to date. With a log-on type of system, user""s are not notified of changes to information records. It is only when they log onto the system that they will be notified of changes to a record.
With a push type of system, where messages are automatically sent using a hypertext transfer protocol (HTTP), such messages are only available at the time they are sent and they are lost after a critical period of time. This results in the loss of such messages by a user who may be away from his system when such messages are sent.
The present invention addresses the need for immediate access to database records and the need to notify users of changes to database records.
The present invention addresses current problems with Internet databases by creating a hybrid system that combines the advantages of Internet technology with the dependability and functionality of off-line computer based software applications.
Generally, the invention is applicable wherever a dynamic database is to be disseminated down to a regular user group, on a frequent basis.
In accordance with one aspect of the invention, there is provided a remotely updatable database system including a user interface, a database of information records, a database manager, and a message server. The user interface is for communicating with at least one subscriber system to receive user input from a user at the at least one subscriber system. The database manager is in communication with the user interface, for controlling the database such that each information record is associated with at least one user, and for amending the information records in response to user input received at the user interface from the at least one subscriber system. The message server is in communication with the database manager for serving a message including at least one record received from the database manager to the at least one user associated with the information record.
The information records may have respective pluralities of fields and preferably, the database may include a plurality of user records, each of the information records being linked to at least one user record.
The message server may include a processor and memory for storing program codes readable by the processor to direct the processor to communicate with the database manager to obtain for inclusion in the message a plurality of information records having at least one common field entry. In addition, the program codes readable by the processor may direct the processor to communicate with the database manager to obtain for inclusion in the message at least one information record having at least one common field entry.
The database manager may store the contents of at least some of the information records in a compressed format. The contents of at least one field of the information record may include at least one information code and the at least one information code may represent at least one of a plurality of predefined contents of the field.
The apparatus may include memory for storing a key identifying the predefined contents of each of the fields represented by the at least one information code.
The at least one information code may represent a quantitative measure of a predefined physical quantity and the apparatus may include memory for storing a key identifying the predefined physical quantity. The key may include a character string associated with the field.
The at least one information code may identify whether or not any of a plurality of pieces of information are to be associated with the record and the at least one information code includes a decimal number representing a binary number having individual bits representing the inclusion or exclusion of a corresponding predefined piece of information. Preferably, there is a key identifying the plurality of pieces of information, the key including a plurality of character strings associated with the field.
The server memory may include program codes for directing the server processor to produce a composite file including the key and at least one of the information records and for directing the server processor to produce a compressed file including the key and at least one of the information records.
The compressed file may include an image file and the message includes the compressed file and preferably, the user records include a user address field for storing a user address to which a message produced by the message server is to be transmitted.
The memory may include program codes for directing the processor to direct the database manager to scan the user records to obtain a distribution list of user records having the contents of at least one field associated with the contents of a predesignated field in at least one of the information records and preferably, the server memory includes program codes for directing the server processor to transmit the compressed file to each of the user addresses identified in the user address fields of the user records on the distribution list.
The user interface may include a web interface.
In accordance with another aspect of the invention, there is provided a method of maintaining and distributing database information. The method involves:
communicating with at least one subscriber system to receive user input from a user at the at least one subscriber system;
maintaining a database of information records;
controlling the database such that each information record is associated with at least one user, amending the information records in response to user input from the at least one subscriber system; and
serving a message including at least one information record from the database to the at least one user associated with the information record.
The method may involve the step of maintaining user records in the database and linking the user records with information records and obtaining for inclusion in the message a plurality of information records having at least one common field entry.
The method may involve the step of storing the contents of at least some of the information records in a compressed format and storing at least one information code in at least one field in at least one information record.
The method may involve representing at least one of a plurality of predefined contents of the field and storing a key identifying the predefined contents of each of the fields represented by the at least one information code.
The method may involve representing a quantitative measure of a predefined physical quantity and storing a key identifying the predefined physical quantity.
The method may involve including within the key a character string associated with the field and identifying whether or not any of a plurality of pieces of information are to be associated with the record.
The method may involve storing a decimal number as the information code, the decimal number representing a binary number having individual bits representing the inclusion or exclusion of a corresponding predefined piece of information. Preferably, the method also includes the step of identifying the plurality of pieces of information in a key and including within the key, a plurality of character strings associated with the field.
The method may involve directing the server processor to produce a composite file including the key and at least one of the information records.
The method may involve directing the server processor to produce a compressed file including the key and at least one of the information records.
The method may involve including an image file within the compressed file and including the compressed file in the message.
The method may involve including within the user records a user address field for storing a user address to which a message produced by the message server is to be transmitted.
The method may involve scanning the user records to obtain a distribution list of user records having the contents of at least one field associated with the contents of a predesignated field in at least one of the information records and transmitting the compressed file to each of the user addresses identified in the user address fields of the user records on the distribution list.
In accordance with another aspect of the invention, there is provided a computer-readable storage medium on which is stored codes operable to direct a computer to maintain and distribute database information, by directing the computer to:
communicate with at least one subscriber system to receive user input from a user at the at least one subscriber system;
maintain a database of information records;
control the database such that each information record is associated with at least one user, amend the information records in response to user input from the at least one subscriber system; and
serve a message including at least one information record from the database to the at least one user associated with the information record.
In accordance with another aspect of the invention, there is provided an apparatus for receiving database record information from a database containing a plurality of database records. The apparatus includes a message receiver, transfer memory, an output device, a processor circuit and processor memory. The message receiver receives a message from the database, the message including at least one file from the database. The transfer memory stores the at least one file. The output device presents information to a user. The processor circuit is in communication with the message receiver, the transfer memory and the output device. The processor memory is programmed with processor-readable codes for directing the processor to direct the output device to present to the user a list of files stored in the local memory, the files included in the list having at least one predefined characteristic; and to direct the output device to present to the user at least some of the contents of at least one file having the at least one predefined characteristic.
The message receiver may include a receiver for receiving messages according to the simple mail transfer protocol and preferably, the message receiver receives the least one file in an Email message.
The processor memory may include processor readable codes for directing the processor circuit to replace existing files in the transfer memory with new files received from the database and for directing the processor circuit to identify each file received from the database.
The processor memory may include processor readable codes for directing the processor circuit to read a pre-defined portion of the at least one file to identify the pre-defined characteristic and for directing the processor circuit to present to a user a list of the predefined characteristics associated with the at least one file.
The processor memory may include processor readable codes for directing the processor circuit to transfer to working memory at least one file identified by a user and for directing the processor circuit to reconstruct records from the at least one file.
The processor memory may include processor readable codes for directing the processor circuit to display the contents of at least some fields of the records.
The processor memory may include processor readable codes for directing the processor circuit to locate at least one key in the at least one file and apply the contents of at least one field of least one record to the at least one key to produce a representation of encoded information stored in the at least one field and for directing the processor circuit to display at least one character string contained in the key, the character string being identified by the contents of a corresponding field in the record.
The processor memory may include processor readable codes for directing the processor circuit to tag at least one of the records in response to user input and for directing the processor circuit to display the contents of at least some fields of the tagged records.
In accordance with another aspect of the invention, there is provided a method of presenting database record information from a database containing a plurality of database records. The method involves:
receiving a message including at least one file from the database;
storing the at least one file in a transfer memory;
presenting to a user a list of files stored in the transfer memory, the files included in the list having at least one predefined characteristic; and
presenting to the user the contents of at least one file having the at least one characteristic.
The method may involve receiving the at least one file in an Email message.
The method may involve replacing existing files in the transfer memory with new files received from the database and identifying each file received from the database.
The method may involve reading a pre-defined portion of the at least one file to identify the pre-defined characteristic and presenting to a user a list of the predefined characteristics associated with the at least one file.
The method may involve transferring to working memory at least one file identified by a user and reconstructing records from the at least one file.
The method may involve displaying the contents of at least some fields of the records.
The method may involve locating at least one key in the at least one file and applying the contents of at least one field of least one record to the at least one key to produce a representation of encoded information stored in the at least one field.
The method may involve displaying at least one character string contained in the key, the character string being identified by the contents of a corresponding field in the record.
The method may involve tagging at least one of the records in response to user input and displaying the contents of at least some fields of the tagged records.
In accordance with another aspect of the invention, there is provided a computer-readable storage medium on which is stored codes operable to direct a computer to present database record information from a database containing a plurality of database records, by directing the computer to:
receive a message including at least one file from the database;
store the at least one file in a transfer memory;
present to a user a list of files stored in the transfer memory, the files included in the list having at least one predefined characteristic; and
present to the user the contents of at least one file having the at least one characteristic.
In accordance with another aspect of the invention, there is provided a remotely updatable database system including a central server and at least one subscriber system. The central server includes a user interface for communicating with the at least one subscriber system to receive user input from a user at the at least one subscriber system, a database of information records, a database manager in communication with the user interface, for controlling the database such that each information record is associated with at least one user, and for amending the information records in response to user input received at the user interface from the at least one subscriber system and a message server in communication with the database manager for serving a message including at least one record received from the database manager to the at least one user associated with the information record. The subscriber system includes a message receiver for receiving a message from the message server, the message including at least one file from the database, transfer memory for storing the at least one file, an output device for presenting information to a user and a processor circuit in communication with the message receiver, the transfer memory and the output device, and processor memory programmed with processor-readable codes for directing the processor to direct the output device to present to the user a list of files stored in the local memory, the files included in the list having at least one predefined characteristic; and to direct the output device to present to the user at least some of the contents of at least one file having the at least one predefined characteristic.
In accordance with another aspect of the invention, there is provided a method of maintaining and distributing database information. The method involves:
communicating with at least one subscriber system to receive user input from a user at the at least one subscriber system;
maintaining a database of information records;
controlling the database such that each information record is associated with at least one user;
amending the information records in response to user input from the at least one subscriber system;
serving a message including at least one information record from the database to the at least one user associated with the information record;
receiving the message at least one subscriber system;
storing the at least one file in a transfer memory;
presenting to a user a list of files stored in the transfer memory, the files included in the list having at least one predefined characteristic; and
presenting to the user the contents of at least one file having the at least one characteristic.
By receiving database information during a web session, a record can be easily and quickly updated at the server. After such updating, the record can be immediately transferred to users subscribing to the system, using the simple mail transfer protocol, such that users which must be advised immediately of changes to particular records are so advised, by receiving new records. In addition, the simple mail transfer protocol allows the database system to know if a transmission failed and whether a message has been downloaded. If a message has not been downloaded, the database system can send the message. In addition, the use of the simple mail transfer protocol allows the database system to send a message containing any type of file, such as a multimedia file, for example.
In addition, the use of the simple mail transfer protocol allows users to receive and accumulate messages at a predefined message server and to retrieve such messages at any time or at their discretion. Consequently, messages are not lost. In addition, this allows a user to selectively review messages received over a period of time.
More particularly, the use of the simple mail transfer protocol gives the database system the ability to target all users or as few as a single user, each with a unique message. Also, as opposed to a push system, the database system disclosed herein has the ability to target and send an individual messages that he has made himself available to receive but has not specifically requested. Furthermore, by keeping copies of records of interest to a user at the user""s system, the user has instant access to database records. The use of the simple mail transfer protocol to transmit files containing new records to users allows user systems to be kept up-to-date and allows the user to be informed of any changes to database information.
The compression aspects of the invention drastically reduce the size of data files transferred to users and, hence, reduce the transfer time required to send messages to users. For example, with fifteen buildings, each with seven to ten pages of related information and each page being represented by fifteen kilobytes when stored as a text file, a file size of approximately 2250 kilobytes is created. A message containing such file can be downloaded to a user with the system described herein using a standard 28.8 kilobit/second modem in less than four seconds as opposed to the approximately twenty-five minutes it would take with current systems using a similar communications channel.